<?php
namespace app\admin\model\user;

use app\basic\BaseModel;

/**
 * 会员卡模型
 */
class UserVipCard extends BaseModel
{
    /**
     * 数据表主键
     * @var string
     */
    protected $pk = 'id';

    /**
     * 数据库表名称
     * @var string
     */
    protected $table = 'eb_user_vip';

    protected $deleteTime = false;

    /**
     * 获取用户当前有效的会员卡
     * @param int $userId
     * @return array
     */
    public function getUserValidVipCards($userId)
    {
        return $this->where([
            ['user_id', '=', $userId],
            ['status', '=', 1],
            ['end_time', '>', time()]
        ])->order('vip_card_id DESC, end_time DESC')
        ->select()
        ->toArray();
    }

    /**
     * 获取用户当前最高等级的会员卡
     * @param int $userId
     * @return array|null
     */
    public function getUserHighestVipCard($userId)
    {
        return $this->where([
            ['user_id', '=', $userId],
            ['status', '=', 1],
            ['end_time', '>', time()]
        ])->order('vip_card_id DESC, end_time DESC')
        ->find();
    }

} 